package com.vhall.component.service.room.event.handler.live;

import com.vhall.component.service.room.event.handler.AbstractEventHandler;
import com.vhall.component.service.room.event.handler.EventHandlerType;
import com.vhall.component.service.room.event.handler.RedirectUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Map;

import static com.vhall.component.service.room.event.EventConstant.LIVE_PUSH_STREAM_STATUS;

/**
 * 直播推流任务开始或结束 处理器
 *
 * @author jingwen.li
 * @date 2023/2/16
 */
@Slf4j
@Component
@EventHandlerType(LIVE_PUSH_STREAM_STATUS)
public class PushStreamStatusEventHandler extends AbstractEventHandler {

    @Autowired
    private RedirectUtil redirectUtil;
    @Value("${old.callback.live.url}")
    private String callbackUrl;

    @Override
    public void handle(Map<String, Object> callBack) {
//        event	string	是	事件类型："lives/push_stream_status"
//        refer	string	是	"vhall"
//        time	string	是	回调时间戳，例如："1505095994"
//        app_id	string	是	应用ID
//        room_id	string	是	源流房间ID
//        config_id	string	是	推流配置ID
//        task_id	string	是	推流任务ID
//        status	int	是	1:开始推流 2:推流结束 3:推流异常
//        errcode	int	是	推流失败错误码
//        errmsg	stinrg	是	推流错误信息
        log.info("收到直播推流任务开始或结束事件：{}, 事件详情：{}", LIVE_PUSH_STREAM_STATUS, callBack);
//        redirectUtil.redirect(callbackUrl, callBack);
    }
}
